<?php
class Usuarios_Form_Crear extends Form_Base {
	
		
	public function __construct($options = null) {
		parent::__construct($options);
	}
	
	public function init() {
		$domConfig = Zend_Registry::get('domConfig'); //esto se crea en el bootstrap
		
		//Crea el formulario para el registro de usuarios del sistema
		$this->setName ( 'info_usuario' );
		$this->setMethod("POST");
		$this->setAttrib("autocomplete","on");
		$this->setAttrib("class","form-horizontal");
		
		$codusuario = new Zend_Form_Element_Hidden("codusuario");
		$array_elements[]=$codusuario;
		
		$tipodocumento = new Zend_Form_Element_Select('tipodocumento');
		$tipodocumento->setLabel ( 'Tipo de identificación : ' );
		$tipodocumento->setRegisterInArrayValidator(false);
		$tipodocumento->setMultiOptions($domConfig->DOM_TIPODOCUMENTO->toArray());
        $tipodocumento->setRequired(true);
        $array_elements[]=$tipodocumento;
		
		$cedula = new Zend_Form_Element_Text ( 'cedula' );
		$cedula->setLabel( 'Identificación : ' );
		$cedula->setRequired ( true );
		$cedula->addFilter ( 'StripTags' );
		$cedula->addFilter ( 'StringTrim' );
		$cedula->addValidator ( 'digits' );
		$array_elements[]=$cedula;
		
		$nombres = new Zend_Form_Element_Text ( 'nombres' );
		$nombres->setLabel ( 'Nombres : ' );
		$nombres->setRequired ( true );
		$nombres->addFilter ( 'StripTags' );
		$nombres->addFilter ( 'StringTrim' );
		$array_elements[]=$nombres;
				               
		$apellidos = new Zend_Form_Element_Text ( 'apellidos' );
		$apellidos->setLabel ( 'Apellidos : ' );
		$apellidos->setRequired ( true );
		$apellidos->addFilter ( 'StripTags' );
		$apellidos->addFilter ( 'StringTrim' );
		$array_elements[]=$apellidos;
				
		$estado   = new Zend_Form_Element_Hidden("estadocna");
		$estado->setValue(1);
		$array_elements[]=$estado;
		
		$sacescna = new Zend_Form_Element_Hidden("sacescna");
        $sacescna->setValue(3);
        $array_elements[]=$sacescna;
        
		$genero = new Zend_Form_Element_Select('genero');
		$genero->setRegisterInArrayValidator(false);
		$genero->setLabel ( 'Genero : ' );
		$genero->setMultiOptions($domConfig->DOM_GENERO->toArray());
        $genero->setRequired(true);
        $array_elements[]=$genero;

		$direccionresidencia = new Zend_Form_Element_Text ( 'direccionresidencia' );
		$direccionresidencia->setLabel ( 'Dirección : ' );
		$direccionresidencia->setRequired ( true );
		$direccionresidencia->addFilter ( 'StripTags' );
		$direccionresidencia->addFilter ( 'StringTrim' );
		$array_elements[]=$direccionresidencia;

		//$ubicacion = new Zend_Form_Element_Text ( 'ubicacion' );
		$ubicacion = new App_Form_Element_Autocompletar("ubicacion", "codubicacion", "/generales/ubicacion/autolista");
		$ubicacion->setLabel ( 'Ubicación : ' );
		//$ubicacion->setRequired ( true );
		$ubicacion->addFilter ( 'StripTags' );
		$ubicacion->addFilter ( 'StringTrim' );
		$array_elements[]=$ubicacion;
		
		$codubicacion = new Zend_Form_Element_Hidden("codubicacion");
		$codubicacion->setRequired(true);
		$array_elements[]=$codubicacion;

		$emailexterno = new Zend_Form_Element_Text ( 'emailexterno' );
		$emailexterno->setLabel ( 'Personal : ' );
		$emailexterno->setRequired ( true );
		$emailexterno->addFilter ( 'StripTags' );
		$emailexterno->addFilter ( 'StringTrim' );
		$emailexterno->addValidator ( 'EmailAddress');
		$array_elements[]=$emailexterno;

		$emailalterno = new Zend_Form_Element_Text ( 'emailalterno' );
		$emailalterno->setLabel ( 'Alternativo : ' );
		$emailalterno->setRequired ( true );
		$emailalterno->addFilter ( 'StripTags' );
		$emailalterno->addFilter ( 'StringTrim' );
		$emailalterno->addValidator ( 'EmailAddress' );
		$array_elements[]=$emailalterno;

		$telefonocelular = new Zend_Form_Element_Text ( 'telefonocelular' );
		$telefonocelular->setLabel ( 'Celular : ' );
		$telefonocelular->setRequired ( true );
		$telefonocelular->addFilter ( 'StripTags' );
		$telefonocelular->addFilter ( 'StringTrim' );
		$array_elements[]=$telefonocelular;

		$telefonoresidencia = new Zend_Form_Element_Text ( 'telefonoresidencia' );
		$telefonoresidencia->setLabel ( 'Teléfono casa : ' );
		//$telefonoresidencia->setRequired ( true );
		$telefonoresidencia->addFilter ( 'StripTags' );
		$telefonoresidencia->addFilter ( 'StringTrim' );
		$array_elements[]=$telefonoresidencia;

		$telefonotrabajo = new Zend_Form_Element_Text ( 'telefonotrabajo' );
		$telefonotrabajo->setLabel ( 'Teléfono oficina : ' );
		$telefonotrabajo->setRequired ( true );
		$telefonotrabajo->addFilter ( 'StripTags' );
		$telefonotrabajo->addFilter ( 'StringTrim' );
		$array_elements[]=$telefonotrabajo;

		$fax = new Zend_Form_Element_Text ( 'fax' );
		$fax->setLabel ( 'Fax : ' );
		//$fax->setRequired ( true );
		$fax->addFilter ( 'StripTags' );
		$fax->addFilter ( 'StringTrim' );
		$array_elements[]=$fax;
		
	    if (App_User::getCodigoSede()){
			$tipousuario = new Zend_Form_Element_Select('tipousuario');
			$tipousuario->setRegisterInArrayValidator(false);
			$tipousuario->setLabel ( 'Tipo usuario : ' );
			$tipousuario->setMultiOptions(array("A"=>"Administrador","R"=>"Actualización","L"=>"Solo lectura"));
			$array_elements[]=$tipousuario;
					    
			$texto = new Zend_Form_Element_Textarea('justificacion');
			$texto->setLabel('Justificación usuario :');
			$texto->setRequired(true);
			$texto->addFilter('StripTags');
			$texto->addFilter('StringTrim');
			$texto->setAttrib("rows",5);
			$array_elements[]=$texto;
			
		}
               
		$submit = new Zend_Form_Element_Submit ( 'btnSubmit' );
		$submit->setValue('Guardar');
		$submit->setLabel("Guardar");
		$submit->setAttrib("class", "iceCmdBtn");
		$array_elements[]=$submit;

		$this->addElements ($array_elements);
		
		//$this->loadViewScriptDecorators();
        $this->loadTableDecorators();
	}
	
	public function loadViewScriptDecorators() {
		$this->setDecorators ( array (array ('viewScript', array ('viewScript' => 'viewscripts/crear_form.phtml' ) ) ) );
	}

}